Digital versatile discs (DVDs) are information storage devices used for storing prerecorded audio information, movies and computer software. The storage and playback mechanism used in DVDs closely resembles the mechanism used in compact discs (CDS). DVD players and software use the same laser technology as CD players. Briefly, both DVDs and CDS store information as a pattern of pits formed in a metallic substrate. The pit patterns form digital words and can be read by shining a laser beam on the disc surface and detecting the reflected beam. However, the Information storage capacity of a typical DVD is much higher than a CD. Presently available DVDs have a variety of capacities which depend on the technology used to manufacture the discs. Single-layer technologies can be either single or double-sided with capacities of 4.7 gigabytes and 9.4 gigabytes, respectively. Dual layer technologies will soon be available which use single or double sided capacities that hold approximately 8.5 gigabytes per side. This high information storage capacity makes DVDs suitable for storing not only audio information, but also video information and large amounts of computer data as well.
DVD players have many CD player features, such as the ability to play selections in any order desired and the ability to read information from any point on the disc. However, DVDs can store information in several formats. For example, DVDs which are used to store video information (hereinafter called DVD-VIDEO discs) may use various known information compression algorithms, such as MPEG-2 for video compression/decompression. A DVD may also include high fidelity sound as well. In addition, a DVD may also store uncompressed linear pulse code modulated data streams which have sample rates between 48-96 kHertz and are sampled at 16 or 24 bits. Still other DVD versions (hereinafter called DVD-ROM discs) can store digital data for computer use, and the data may also be compressed on these discs.
Although DVD-ROM and DVD-VIDEO discs share compression algorithms, the data format on DVD-VIDEO discs is significantly different than the data format found on DVD-ROM discs. One important difference is that the data content on DVD-ROM is platform-specific, while DVD-VIDEO discs operate with a platform independent navigation engine for playing interactive movies. This navigation engine requires that the files on the DVD_VIDEO disc be referenced in a predetermined directory structure.
In particular, each DVD-VIDEO disc contains a main directory denoted as a VIDEO_TS directory which contains two types of files distinguished with the file extensions .IFO and .VOB. During playback, these files are sorted by a DVD video player to form video "title" sets, which are groupings of all files necessary to play a particular DVD video "title", for example, a movie. Each video title set is composed of one .IFO file and one or more .VOB files.
A file with the .VOB extension contains the actual multimedia data and is called a video object set. The location and format of the multimedia data stored in the video object set is defined by the associated .IFO file. In particular, .IFO files contain navigational data structures and a processor-independent interpreted language which specifies how the data structures are arranged.
The data structures themselves are composed of various objects called "program chain objects", "program objects", and "cell objects". Program chain objects link related program objects (or particular scenes) within a title and their data structures govern the playback of the program objects. For example, a simple title may contain only one program chain. However, complex titles may contain two or more program chains to allow random access to a variety of programs. The multiple program chain title can play programs linearly, randomly or in a "shuffles" mode. Program chains allow a particular program sequence to be changed during playback. Thus, it is possible to change the program contact based on stored information. This type of operation is used in implementing "parental control" levels in which information content which parents might find inappropriate (such as extremely violent or sexual material) can be removed from a playback and other material substitued without requiring several separate and complete programs.
Each program object in a program chain is composed of elements called "cell objects". These objects instruct a DVD player which portion of the multimedia data in one of the .VOB files to decode. In particular, the data structures in a cell object are defined in the .IFO file and the multimedia content is found in one of the .VOB files. Each cell object directs the DVD player to begin playback at a specific location in the .VOB file which is referred to as a video object unit or "VOBU". A VOBU is a container object that includes both multimedia data and playback program commands. More specifically, each VOBU may contain a header or navigation pack called an "NV_PACK" that, in turn, contains navigational commands, user operation data and "highlight" commands which control the presentation of the information on the display.
The specific program commands which are recognized by a DVD player are controlled by a device independent language and a set of DVD player parameters which define the current state of the DVD player. These commands cause the DVD player to perform a number of operations, such as generating menu controls at specific locations on the display screen. In order to process these commands a DVD player system typically includes a processor and associated memory (which may be part of the player or a separate computer) and display device. Preferably, the player system is controlled by a playback program running under an operating system such as WINDOWS NT.RTM. or OS/2.RTM..
Navigational input can also be obtained directly from a user by means of navigational buttons which are displayed on-screen, along with the multimedia data, under playback program control. The playback program controls both the time duration that the button appears on the screen and the manner in which the system responds to the selection of a button by a user. For example, user selection of a button may cause the playback program to jump to a new location on the disc and begin playback at the new location.
Buttons are typically displayed within a subpicture area of the video display. That is, a video processor typically combines subpicture information with video information to produce a video output having an "overlay" of subpicture information. Subpicture bit stream information will include contrast information which indicates the "mixing level" to use with the video and subpicture information. For example, a subpicture contrast value of 0% typically indicates that the associated picture area should be entirely video information, with no contribution from the subpicture value. On the other hand, a subpicture pixel having a contrast value of 100% will obscure video information associated with the same pixel. A 50% contrast level yields a display having equal contributions from video and subpicture information. Contrast values typically range between 0 and 100% in several steps.
A DVD system provides both subpicture and highlight information in one of four pixel types: Background, Pattern, Emphasis 1, or Emphasis 2, with each pixel type typically having its own associated color and contrast value. Therefore, a subpicture, including such highlight information as navigational buttons displayed within the subpicture, is typically limited to four color and contrast combinations. Each of the pixel types to be displayed within a subpicture is associated with a color palette entry that includes color and contrast information selected from broad range of color and contrast values. For example, a color palette may have sixteen entries available, with each entry including four bytes of information. The four bytes of information could be organized as three bytes of color information and one byte of contrast information, yielding a color palette which selects sixteen color and contrast combinations from approximately seventeen million (2.sup.24) color values and two hundred fifty six contrast values.
Each of the sixteen color palette entries may be thought of as the contents of a two-byte wide memory location corresponding to one of sixteen color palette addresses. As is known in the art, the addresses may conform to any of a variety of addressing schemes such as direct addressing, indirect addressing, indirect offset addressing, etc, and each color palette address corresponds to one of four pixel values which, in combination, "fill in" the subpicture bitmap. Bitmap pixel values are combined with color palette information to assign color/contrast values to each subpicture pixel location without writing the entire two-byte color/contrast values into each bitmap location. That is, if each pixel value occupies only a nibble, and each color/contrast value requires four bytes for storage, the memory required to store a color bitmap is thereby reduced by a factor of four to one by storing pixel values rather than color/contrast values, for each pixel location. Since DVD subpicture information is limited to the four pixel types denoted above, only four of the sixteen available color palette addresses is employed to display subpicture information.
In some cases, having only four color/contrast combinations for a given subpicture exacts no performance penalty. For example, suppose a subpicture includes two buttons, one for selection of English language closed-captioning, and one for Spanish language closed-captioning. Assume further that the pixels which compose the display pattern for the English language option are all assigned a DVD "Pattern" pixel type, the pixels for the Spanish language option are assigned an "Emphasis 1" pixel type, and the remainder of pixels within the subpicture are assigned a Background pixel type. If the color palette entry associated with the Pattern pixel type produces a blue color with 50% contrast, the English option will be displayed as a blue overlay on the video background with the video background "showing through" as half the pixel information. In order to highlight the English option, when a user selects that option via remote control for example, the color palette entry corresponding to the "Pattern" pixel type could be updated to contain the same, blue color, but with a 100% contrast value. Since the 100% contrast value indicates that the Pattern pixels should completely obscure the video information which "shares" pixel locations with the English language option, the word "English" would be accented on the display.
However, should other pixels, e.g., those that comprise the Spanish language option, within the subpicture be assigned the "Pattern" pixel type, those pixels would be accented, or highlighted, as well. Consequently, if there were more options, or buttons, to display within the subpicture and the associated button pixels were also assigned the "Pattern" type, those pixels would inadvertently be accented along with the English button. Accenting the other pixels in this manner would present a display with more than one option accented, thereby defeating the purpose of highlighting, and confusing a DVD user.
Given the limited number of pixel types available for display within a DVD subpicture, and the desirability of highlighting one of a plurality of display areas without necessarily highlighting all of them, it would therefore be highly desirable to provide a system which permits the modification of the color and contrast values associated with only a portion of the pixels assigned a given subpicture type.